CSI 1390: Introduction to Computing

(Fall  2012)

 

(2 hours per week, 3 credits)

LEC 1 Friday 8-10am KED B005
Tutorial/Lab Monday 8-10 STE 0130
 

Course Description

 

Computing and computers; Problem solving and algorithm development; Introduction to
programming. Use of application, communication, and database software
Courses ITI 1120, ITI 1121, CSI 1306, CSI 1308, and CSI 1390 cannot be combined for credits.

Professor:       Ivan Stojmenovic                        Web: www.site.uottawa.ca/~ivan

TA: Zhen Huang zhuan045@uottawa.ca

 

Textbook

  Course is based on classnotes and tutorials. There are plenty of books describing Java, and any of them can assist. Course notes are designed based on this book:

Java, An introduction to Computer Science and programming; 5th edition by Walter Savitch, Prentice Hall.

Evaluation  

Assignments:                 20%

Mid Term Exam:           30% (October 19 8-10am, lecture time and place) sample midterm questions

Final Exam:                   50%

 Note: a minimum of 50% of the average of the exams must be obtained to pass the course.

 

Assignments

 

Assignment 1. Assignment 2. Assignment 3 Assignment 4

Each assignment must be done individually by each student.  Copying of assignments, even with superficial changes, is a serious form of academic fraud and will not be tolerated. 


Lab Access

 

Lab access time is a period during which the lab is reserved for a specific group to use the computers and be aided by a teaching assistant.  Lab access is combined with tutorials in SITE 0130.

 

Course Objectives

 

By the end of this course, students will have a good working knowledge on solving problems on the computer by using various techniques and methods within the framework of scientific applications. Students will learn how to design efficient algorithms for solving problems.

  There is no assumption of any previous programming experience.

This course is designed to give students a basic understanding of:
-Object Oriented Programming (OOP)
-Object attributes (data) and methods (functions)
-Basic model design and implementation
and an in-depth understanding of:
-Programming in Java
-Java classes, Applets and Applications
-Rapid Development of Software Applications

 

Course Content (with presentation slides and code samples)

---------------------

Introduction to computers and Java (module 1)

Basic computation (module 2) code samples listings 1.x, 2.x, 3.x

Flow of control: Branching (module 3)

Flow of control: Loops (module 4) code samples listings 4.x, 5.x

Arrays (module 5)

Defining classes and methods (module 6) code samples listings 7.x, 8.x

More about objects and methods (module 7) code samples listing 6.x

Polymorhism and Inheritance (module 8) listing b.x

Streams and File I/O (module 9) code samples listings 9.x an 10.x